<?php
/**
 * User zgh
 * Email 1803897171@qq.com
 * Date 2021/8/1
 **/

namespace app\admin\validate;


use think\Validate;

class CronValidate extends Validate
{
    /**
     * 验证规则
     * @var array
     */
    protected $rule = [
        'title|任务名' => 'require|max:500',
        'type|任务类型' => 'require',
        'content|任务执行内容' => 'require|max:1000',
        'maximums|最大执行次数' => 'number',
        'sleep|延迟秒数次数' => 'number',
        'begin_time|开始时间' => 'require|checkBeginTime',
        'end_time|结束时间' => 'require',
    ];


    protected function checkBeginTime($val, $rule, $params)
    {

        if (!isset($params['id']) || empty($params['id'])) {
            if ($params['begin_time'] < time()) {
                return '开始时间不能小于当前时间';
            }
            if ($params['begin_time'] >= $params['end_time']) {
                return '开始时间不能大于等于结束时间';
            }
        }
        return true;
    }


}